Conversation
- SECURITY.md pointed at `web-search-boundary.test.ts` and `claude-subscription-ipc-boundary.test.ts`, both deleted in apache#1851; name the tests that enforce the IPC token boundary today. - ARCHITECTURE.md described the Desktop conversation projection as "not yet implemented" while the linked document states it is implemented; the Chinese edition was also missing that reading-path entry. - docs/tui-live-ctx-updates.md still said "Status: design" after apache#4550 shipped `tui-context-refresh.ts`, and referenced `session-trace-refresh.ts` at its pre-move path. Generated-by: Claude Code
Astro-Han
left a comment
There was a problem hiding this comment.
Thanks for cleaning this up — the core premise checks out. I verified each claim against the PR's base (bf6e9422), and the deleted tests, the projection status, and the "implemented" status are all real. Two things worth a look before merge, plus two nits.
Verified
- SECURITY.md test swaps are sound.
web-search-boundary.test.tsandclaude-subscription-ipc-boundary.test.tsare indeed gone at base. The replacements exist and cover what's claimed:settings-ipc-helpers.test.ts— L31 ("masks sensitive bot fields before returning settings to renderer") and L53/L84 (Tavily key never revealed to renderer, incl. the save response). Covers "Tavily and bot credentials". ✅runtime-host-connections-ipc-main.test.ts— L435 "keeps saved custom header values out of the renderer". Covers "custom headers". ✅
- Projection status —
docs/architecture/desktop-conversation-host-projection.zh-CN.md:22does open with状态:已实施, so the old "not yet implemented" wording was wrong andARCHITECTURE.md:80is now accurate. - Edition parity — adding the
ARCHITECTURE.zh-CN.md:80entry does bring the two editions to the same set of reading-path links (9 each). I confirmed no other entry is missing on either side. - TUI status —
packages/cli/src/tui-context-refresh.tsexists at base and is imported atpi-tui-runner.ts:142, so "implemented" is correct. - Links — all 9 relative Markdown links and every fully-qualified backticked source path in the four touched files resolve against the base tree. No broken links introduced.
Findings
1. SECURITY.md:213 attributes OAuth-subscription coverage to the wrong test file.
The parenthetical says runtime-host-connections-ipc-main.test.ts covers Connection credentials "(including OAuth subscriptions and custom headers)". The custom-header half is right (L435), but that file contains zero occurrences of subscription or oauth (grep -icE 'subscription|oauth' → 0; its 17 tests cover provider-type validation, onboarding save/delete, hasSecret, request headers, catalog projection). The OAuth/subscription IPC boundary is enforced by apps/desktop/src/main/__tests__/runtime-host-oauth-ipc-main.test.ts (115 oauth/subscription hits, e.g. L40 "presents the Host OAuth handoff without exposing the authorization URL"). Since this is the document a reporter is pointed at for what counts as an enforced boundary, I'd either add that file to the §4 list (SECURITY.md:267-268) or trim the parenthetical to just "custom headers" — otherwise §4 under-lists the contract tests for the token boundary.
2. Both paths fixed in row 9 are already stale on main (not your fault, but the fix won't survive the merge).
Relative to the base this is exactly right — features/workbar/tools/inspector/session-trace-refresh.ts exists at bf6e9422 and the old renderer/session-trace-refresh.ts does not. But #5345 (0d9ea7576, merged Sep 15, already on origin/main) moved the session-inspector files out of that directory:
session-trace-refresh.ts→apps/desktop/src/renderer/application/contracts/session-inspector/session-trace-refresh.tsuse-session-trace.ts→apps/desktop/src/renderer/application/contracts/session-inspector/use-session-trace.ts
So docs/tui-live-ctx-updates.md:53 will point at two nonexistent files the moment this lands. Worth a rebase (or a quick follow-up) rather than merging as-is — otherwise the PR ships a path fix that's stale on arrival.
Nits
SECURITY.md:211gives the full path for the first test but a bare basename for the second (runtime-host-connections-ipc-main.test.ts), while §4 (:267-268) uses the full path for both. Minor inconsistency, and the bare form isn't greppable/clickable. Consider using the full path in both places.docs/tui-live-ctx-updates.md:53attributesTRACE_REFRESH_DEBOUNCE_MS = 400touse-session-trace.tsL59. At base that constant is actually defined atsession-trace-refresh.ts:23;use-session-trace.tsonly imports it (L36) and uses it at L302/L308. Pre-existing, but since you were already editing this row's paths it's a cheap fix while you're in there.
No behavior change, and nothing here blocks the direction of the PR — thanks again for catching the two deleted SECURITY.md tests.
Summary
Four places in the current (non-archive) documentation point at things that no longer exist or describe a status that is no longer true:
SECURITY.md§2 and §4 citedapps/desktop/src/main/__tests__/web-search-boundary.test.tsandclaude-subscription-ipc-boundary.test.tsas the contract tests for the main→renderer token boundary. Both were deleted in test: improve test suite signal quality #1851. The section now names the tests that enforce it today:settings-ipc-helpers.test.ts(Tavily and bot credentials) andruntime-host-connections-ipc-main.test.ts(Connection credentials, including OAuth subscriptions and custom headers).ARCHITECTURE.mdreading paths described the Desktop conversation projection as "proposed … not yet implemented", while the linkeddocs/architecture/desktop-conversation-host-projection.zh-CN.mdopens with状态:已实施. Wording updated to match.ARCHITECTURE.zh-CN.mdwas missing that reading-path entry entirely (the one Chinese-only document was absent from the Chinese index). Added, keeping the two editions in step.docs/tui-live-ctx-updates.mdstill readStatus: designafter feat(cli): refresh the statusline ctx segment per settled provider request (#4545) #4550 shippedpackages/cli/src/tui-context-refresh.tsand wired it intopi-tui-runner.ts; it also referencedsession-trace-refresh.tsat its pre-move path. Status now says implemented and the path points atfeatures/workbar/tools/inspector/.No code changes.
Verification
node_modules,dist,website): 469 links, 0 broken, before and afterSECURITY.md,ARCHITECTURE*.md, anddocs/tui-live-ctx-updates.mdnow resolves to an existing filegit logthattui-context-refresh.tslanded in f4aae2a (feat(cli): refresh the statusline ctx segment per settled provider request (#4545) #4550) and that the two SECURITY.md test files were removed in 4e29c2e (test: improve test suite signal quality #1851)ARCHITECTURE.mdandARCHITECTURE.zh-CN.mdnow carry the same set of reading-path linksAI use
Select exactly one:
Tool(s) and scope: Claude Code — scanned the docs for stale paths/statuses, verified each against
git logand the current tree, and drafted the edits. Commit carries aGenerated-by: Claude Codetrailer.Checklist
Does this PR entail a change in behavior?